package cn.tedu.oopenextends;
/*本类用于继承中成员方法的使用*/
public class TestExtends2 {
    public static void main(String[] args) {
        Father2 f=new Father2();
        Son2 s=new Son2();
        f.eat();
        s.eat();
        s.study();
    }
}
//1创建父类，同报下类不能同名
class Father2{
    //3.创建父类方法
    public void eat(){
        System.out.println("爸爸爱吃肉");
    }
}
class Son2 extends Father2{
    //5创建子类特有更能study
    public void study() {
        System.out.println("快到端午，学包粽子");
    }
    /*OCP原则：面向修改关闭，面向拓展开放-
    -只允许功能拓展，不允许修改原来的代码   */
    //修改父类原有功能
    //功能修改--方法的重写
    /*重写的规则：
    和父类方法签名保持一致[方法名&参数列表]
    子类方法的修饰符>=父类方法修饰符
    子类返回值类型<=父类的返回值类型
    然后去修改子类中本方法的实现，父类的功能并没有被改变
    重写时，子类必须拥有可以重写的权限，子类无权修改父类的私有方法
     */
    @Override /**这是一个注解，可以理解成一个标签，用来标记此方法是不是一个重写的方法*/
    public void eat(){
        System.out.println("儿子爱蔬菜");
    }
}